package com.pe.pgn.clubpgn.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.pe.pgn.clubpgn.dao.DevolucionProveedorDao;
import com.pe.pgn.clubpgn.domain.ClpbAlmacen;
import com.pe.pgn.clubpgn.domain.ClpbDocumentoMovArticulo;
import com.pe.pgn.clubpgn.domain.ClpdArticulo;
import com.pe.pgn.clubpgn.domain.ClpmStockAlmacenCatalogo;
import com.pe.pgn.clubpgn.service.DevolucionProveedorService;

@Service("devolucionProveedorService")
public class DevolucionProveedorServiceImpl extends GenericManagerImpl<ClpbDocumentoMovArticulo, Long>
implements DevolucionProveedorService{

	@Autowired
	private DevolucionProveedorDao devolucionDao;

	public List<ClpbDocumentoMovArticulo> busquedaDocumentoDevolucion(
			Long coAlmacen, String deProveedor, String fechaInicio,
			String fechaFin) {
		return devolucionDao.busquedaDocumentoDevolucion(coAlmacen, deProveedor, fechaInicio, fechaFin);
	}

	@SuppressWarnings("rawtypes")
	public Map guardarDocumentoDevolucion(
			ClpbDocumentoMovArticulo documentoMovArticulo) {
		return devolucionDao.guardarDocumentoDevolucion(documentoMovArticulo);	
	}
	
	public List<ClpbDocumentoMovArticulo> listaDocumentoDevolucion() {
		return devolucionDao.listaDocumentoDevolucion();
	}

	public ClpbAlmacen obtenerAlmacen(Long idAlmacen) {
		return devolucionDao.obtenerAlmacen(idAlmacen);
	}
	
	public ClpdArticulo obtenerArticulo(String coCodigoArticulo) {
		return devolucionDao.obtenerArticulo(coCodigoArticulo);
	}

	public ClpbDocumentoMovArticulo obtenerDocumentoDevolucion(Long id) {
		return devolucionDao.obtenerDocumentoDevolucion(id);
	}

	public ClpmStockAlmacenCatalogo obtenerStockAlmCata(Long idArticulo,
			Long idAlmacen, Long idCatalogo) {
		return devolucionDao.obtenerStockAlmCata(idArticulo, idAlmacen, idCatalogo);
	}

	public ClpdArticulo obtenerDatosArticuloByCode(String coCodigoArticulo) {
		return devolucionDao.obtenerDatosArticuloByCode(coCodigoArticulo);
	}	
}
